草庐IT

Java SE - 集合

全部标签

java - Hibernate - 从单向 OneToMany 关系中获取集合的 HQL

我有一个具有单向一对多关系的类,如下所示:publicclassOrder{@OneToMany(cascade=CascadeType.ALL)@JoinTable(name="order_item",joinColumns={@JoinColumn(name="order_id")},inverseJoinColumns={@JoinColumn(name="item_id")})publicSetgetItems(){returnitems;}}通常获取此订单的内容很简单:Listitems=order.getItems();但无论出于何种原因,我可能想以某种方式过滤我的结果,并

java - instanceof 与泛型集合

为什么以下代码片段无法编译?if(mangoListinstanceofList){System.out.println("true");}你不知道mangoList是一个List类型。instanceof关键字只适用于原始类型。您只能使用反射来检查集合的类型。通用类型在运行前被删除。(ans)该语句可能导致将mangoList设置为List的实例。你认为哪个是正确答案? 最佳答案 正确答案是您标记为ans的答案。您将能够分辨出mangoList是一个List,但您无法获取其已删除参数的类型。剩下的选择没有意义。

java - 如何漂亮地打印一个复杂的 Java 对象(例如,带有对象集合的字段)?

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。社区在2个月前审查了是否重新打开此问题,然后将其关闭:原始关闭原因未解决Improvethisquestion我正在寻找一个库函数(最好来自常用的框架,例如Spring、Guava、ApacheCommons等),它可以很好地打印任何Java对象的值。这是一个一般性问题,而不是一个具体问题。在StackOverflow上看到过类似的问题,常见的答案是“在类上实现你自己的toString()方法”,但这个选

HashSet 或其他实现的 Java 变量类型集合?

我经常看到类似Listlist=newArrayList();的声明或Setset=newHashSet();对于类中的字段。对我来说,使用变量类型的接口(interface)来提供实现的灵active是非常有意义的。上面的例子仍然定义了哪种Collection必须分别使用s,分别允许哪些操作以及在某些情况下它应该如何表现(由于文档)。现在考虑实际上只有Collection的功能的情况。(甚至Iterable)接口(interface)需要使用类中的字段和Collection的种类实际上并不重要,或者我不想过度指定它。所以我选择例如HashSet作为实现并将该字段声明为Collecti

java - 强制 JPA 查询急切地返回所有集合/字段

我有几个场景是服务器使用JPA从数据库中查询对象,然后通过Web服务将对象发送给客户端。由于客户端在这种情况下需要完整的图表,因此我想用预加载覆盖延迟加载的集合,并可能请求批量加载(为了性能)。JPA(或EclipseLink)中是否有一种方法可以以通用方式覆盖查询(无需重写查询)并请求完整的图形? 最佳答案 10.1.3。获取连接JPQL查询可以指定一个或多个连接提取声明,允许查询指定返回实例中的哪些字段将被预取。SELECTxFROMMagazinexjoinfetchx.articlesWHEREx.title='JDJ'上面

java - 从集合中有效地获取字符串子集 "startingWith"

我有一组大字符串,我想为它创建一个自动建议功能。假设集合是["foo","fighter"]键入“f”应该返回两个值,而键入“fo”应该只返回“foo”。目前我只是通过调用startsWith遍历集合并归档结果,但是它太慢了。标准的TreeSet及其子集函数在这里没有多大帮助,因为它只实现了RB树。在JavaAPI中是否有有效的解决方案,或者我是否必须构建自己的Set实现?编辑:我的实现看起来像这样,使用AndreyNaumenkostriedatastructures.如果要使用扩展的ASCII字符,请注意增加数组大小。如果您使用List而不是Map,您将获得按排序顺序排列的结果。p

java - 如何使用java Stream检查集合是否为空

我是Java8的新手。我无法理解以下代码中的错误。思路是发Collection如果它不是空的。但是如果集合是空的而不是发送HttpStatus.NOT_FOUND实体响应。@RequestMapping(value="/find/pks",method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON_VALUE)publicResponseEntity>getUsers(@RequestBodyfinalCollectionpks){returnStreamSupport.stream(userRepository.findA

java - eclipse + Maven : force Execution Environment "JavaSE-1.6" instead of fixed JDK

我使用Eclipse作为IDE,并在其外部使用Maven来使所有依赖项保持最新并更新Eclipse项目。在Eclipse中,我通常将JRE系统库指定为任何Java项目的执行环境,通常是“JavaSE-1.6”。在pom.xml中,我使用以下行:maven-compiler-plugin2.3.21.61.6maven-eclipse-plugin2.8[groupId].[artifactId]true2.0这好像是让Maven挑选一个JDK匹配1.6。它将其系统库分配给项目的类路径。但是,它直接使用jdk1.6.20而不是JavaSE-1.6。有没有办法让Maven改用JavaSE-

java - Java 中的哪个集合类违反了 S.O.L.I.D 原则?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭8年前。Improvethisquestion我在采访中被问及哪个系列违反了S.O.L.I.D原则??谁能解释它是哪一个以及如何解释?

java - 如何在年轻一代集合中找出 Activity 对象?

据我所知,YGC花费的时间与Eden中的Activity对象数量成正比。我还了解如何在主要集合中找出Activity对象(线程堆栈中的所有对象和静态对象以及可从这些对象传递的其他对象。)但我不明白年轻一代收集中的Activity对象是如何计算出来的?如果它解析线程堆栈,那么它需要解析eden+tenured空间,我认为情况并非如此。那么JVM是如何找到eden中的存活对象并将它们复制到ToSurvivor空间中呢? 最佳答案 howtheliveobjectsarefiguredoutinyounggenerationcollect